SONJA ======= Ein Message-Selector Jeder hat sich sicher schon einmal darber ge„rgert, dass man in einer Area sehr viele Messages hat, die einem gar nicht interessieren. Bisher war es immer sehr aufwendig und zeitraubend, diejenigen Messages herauszusuchen, die man wirklich lesen will. Damit hat es nun ein Ende. Mit dem Programm "SONJA" kann man all diejenigen Messages als gel”scht markieren, die man sicher nicht lesen m”chte. Da die Messages nicht wirklich gel”scht werden, ist es jederzeit m”glich, sie wieder "zum Leben" zu erwecken. Falls man zwischendurch jedoch einen Cruncher ( TIDY_UP, FCRUN, BYTHALON etc. ) verwendet hat, sind die markierten Messages natrlich definitiv und unwiederruflich gel”scht. Damit SONJA korrekt arbeitet, sind die vier Dateien SONJA.TTP, SONAJ.CFG, AREAS.BBS und BINKLEY.CFG n”tig. Die beiden .CFG Dateien mssen sich ent- weder im gleichen Directory wie SONJA.TTP befinden oder eine der beiden Environment-Variablen "MAILER" oder "BINKLEY" enth„lt den Pfad, wo sich diese beiden Dateien befinden. Aus der Datei BINKLEY.CFG werden nur gerade zwei Zeilen ben”tigt: Dies ist zum einen der Loglevel (Statement LOGLEVEL), den SONJA benutzen soll. Steht dort eine 5, so macht SONJA sehr ausfhrliche Meldungen. Bei einer 0 werden gerade noch die Fehlermeldungen angezeigt. Der zweite Eintrag, der ausgewertet wird, ist STATUSLOG. In die damit angegebene Datei werden auf Wunsch alle Bildschirmausgaben mitprotokolliert. Welche Areas bearbeitet werden sollen, und welche Bedingungen dann eine Message erfllen muss, um gel”scht zu werden, erf„hrt SONJA aus der Datei SONJA.CFG. Diese ist eine einfache Textdatei, welche mit jedem Editor erstellt werden kann. Der Aufbau dieser Datei ist dabei folgender: Zuerst wird mit "AREA=" angegeben, welche Area bearbeitet werden soll. Nachdem bekannt ist, welche Area bearbeitet werden soll, folgen die Bedingungen. Diese k”nnen in einer UPN (wie die HP Taschenrechner) Technik miteinander verknpft werden: Jede Bedingung legt einen Wert "TRUE" oder "FALSE" auf einem Stack ab; ja nach dem, ob die Bedingung zutraf oder nicht. Neben den Bedingungen gibt es dann aber auch noch Kommandos, welche die Elemente auf dem Stack manipulieren. Man kann auf diese Art und Weise beliebige Kombinationen der Bedingungen erreichen. Folgende Bedingungen sind m”glich: TO : Sofern der Adressat mit bereinstimmt, liefert der Vergleich TRUE. FROM : Sofern der Absender mit bereinstimmt, liefert der Vergleich TRUE. FOT : FOT ist eine Abkrzung fr FROM_OR_TO. Dieser Vergleich liefert TRUE sofern der Absender oder der Adressat mit bereinstimmt. SUBJECT : Wenn das Subject mit bereinstimmt, liefert der Vergleich TRUE. LESS : Liefert TRUE, sofern die L„nge der Message kleiner als ist. GREATER : Liefert TRUE, sofern die L„nge der Message gr”sser als ist. OLDER : Liefert TRUE, sofern die entsprechende Message schon l„nger als Tage im eigenen System ist. NEWER : Liefert TRUE, sofern die entsprechende Msg weniger als Tage im eigenen System ist. Bei allen Bedingungen, bei denen ein Vergleichsstring angegeben werden muss, kann man fr den String auch Wildcards verwenden. "*" passt dabei auf beliebig viele Zeichen, w„hrend "?" auf genau ein Zeichen passt. Zudem wird nicht zwischen Gross- und Kleinbuchstaben unterschieden. Weil die einzelnen Bedingungen und Kommandos durch nicht alphanumerische Zeichen getrennt werden, mssen die Strings in einfache oder doppelte Anfhrungszeichen ( " bzw. ' ) eingeschlossen werden, falls solche nicht alphanumerische Zeichen im String vorkommen. Als alphanumerische Zeichen gelten alle Buchstaben und Ziffern sowie die Zeichen ".", "_", "*" und "?". Fr die Stackmanipulationen stehen die folgenden Kommandos zur Verfgung: OR: Die beiden obersten Stack Elemente werden OR verknpft. AND: Die beiden obersten Stack Elemente werden AND verknpft. XOR: Die beiden obersten Stack Elemente werden XOR verknpft. NOT: Das oberste Stack Element wird negiert. DUP: Das oberste Stack Element wird dupliziert. SWAP: Die beiden obersten Elemente werden vertauscht. Kommt in einer Zeile ein Strichpunkt ( ; ) vor, so werden alle Zeichen bis zum Ende dieser Zeile ignoriert. Befindet sich der Strichpunkt jedoch zwischen zwei Anfhrungszeichen ( " bzw. ' ), so wird er nicht beachtet. Die Liste der Bedingungen wird durch ein "END" abgeschlossen. Zu diesem Zeitpunkt muss sich noch genau ein Element auf dem Stack befinden. Ist es TRUE, so wird die entsprechende Message als gel”scht markiert. Nach dem "END" kann mit einem "AREA=" eine neue Area angegeben werden. Sollten nun noch Fragen offen sein (was ich sogar schwer annehme) schaut man sich am Besten einmal das beiliegende SONJA.CFG an. Sollten immer noch Fragen offen sein, so wende man sich an den Autor. In der Command Line k”nnen folgende Parameter an SONJA bergeben werden: -a Area: Es wird nur gerade die angegebene Area bearbeitet. Alle anderen bleiben unberhrt. -c Config: Anstelle der Datei "SONJA.CFG" wird die dem Parameter "-c" folgende Datei als Konfigurationsdatei genommen. Ein Pfad kann dabei NICHT angegeben werden. Die alternative Datei muss sich also im gleichen Ordner wie SONJA.CFG befinden. -d: Direct: Es wird nur gerade die mit "-a" angegebene Area bearbeitet. Anstatt die Bedingungen jedoch aus der Datei SONJA.CFG zu nehmen, kann man sie gleich hinter "-d" angeben. Die Angaben "AREA=" und "END" sind dabei nicht anzugeben. Vorsicht: Weil die Bedingungen aus mehreren einzelnen W”rtern bestehen, mssen sie in Anfhrungszeichen ( " ) gesetzt werden. Kommen innerhalb der Bedingungen Texte aus mehreren W”rtern vor (z.B. Vorname Name), so sind diese in einfache Anfhrungszeichen ( ' ) zu setzen. -e: Every: Jede Message der in der Konfigurationsdatei angebenen Areas wird bearbeitet. Das heisst, bei jeder Message wird das KILLED-Flag gesetzt, gel”scht oder invertiert; unabh„ngig davon, ob die Bedingungen zutreffen oder nicht. -h: Help: Es erscheint eine kleine Hilfe. -i: Invert: Bei allen Messages, auf die die Bedingungen zutreffen, wird das KILLED Flag invertiert anstatt gesetzt. -l #: Der Loglevel wird auf # gesetzt. Standardm„ssig wird der Loglevel aus BINKLEY.CFG genommen. Bei 5 werden viele Ausgaben gemacht, bei 0 kommen nur noch die Fehlermeldungen (if any). -r: Rekill: Bei allen Messages, auf die die Bedingungen zutreffen, wird das KILLED Flag gel”scht. So kann man in einem ersten Druchlauf gel”schte Messages wieder "entl”schen". -s: StatusLog. Alle Bildschirmausgaben werden zus„tzlich in das LogFile (StatusLog in BINKLEY.CFG) protokolliert. Als Krzel wird SNJA verwendet. -w: Wait: SONJA wartet am Schluss auf einen Tastendruck. SONJA ist Public Domain. Spenden sind jedoch jederzeit willkommen. Sollten sie kein Geld brig habe, so bin ich auch schon mit einer Postkarte oder „hnlichem zufrieden. Sofern sie immer das Programm UND diese Dokumentation kopieren, k”nnen sie es allen interessierten Personen weitergeben. Dies soll jedoch ohne Profit von statten gehen. SONJA ist ein Programm von Markus Bubendorf Kirchgasse 3 CH-4124 Sch”nenbuch Tel.:+41 61 482 02 20 E-Mail: 2:301/212.25 @ FidoNet oder markus.bubendorf@zrh1.siemens-albis.scn.inet.ch